export const metadata = { sidebar_position: 1, title: "🔴 М'які запити" };

# 🔴 М'які запити

Налаштування запиту (@lester2021power) — це альтернатива точному налаштуванню моделі (@khashabi2021prompt), яка заморожує ваги моделі та оновлює параметри запиту. В результаті, отримуємо "м'який запит".

<div style={{ textAlign: "center" }}>
  <Image
    src="/docs/assets/trainable/prompt_tuning.webp"
    width={1074}
    height={556}
    style={{ width: "500px", margin: "auto" }}
  />
</div>

<div style={{ textAlign: "center" }}>
  Налаштування моделі vs налаштування запиту (Лестер та ін.)
</div>

На зображенні вище бачимо протиставлення налаштування моделі налаштуванню запиту. Під час першого ви із високою точністю налаштовуєте ту саму модель для різних завдань. Це дає вам кілька різних моделей, за допомогою яких ви не завжди можете легко групувати вхідні дані.

З іншого боку, налаштування запиту дозволяє використовувати ту саму модель для всіх завдань. Вам потрібно лише додати відповідні запити під час виведення, що полегшить групування різних завдань. Майже ту саму перевагу має і звичайний запит. Крім того, м'які запити, натреновані для однієї моделі в кількох завданнях, часто матимуть однакову довжину токена.

## Як це працює

Щоб зрозуміти основну логіку м’яких запитів, поміркуймо, як виконується **виведення моделі** на заданий запит: `What's 2+2?`.

1. Токенізувати можна наступним чином `What, 's, 2, +, 2, ?`.

2. Тоді кожен токен буде конвертовано у вектор значень.

3. Ці вектори значень вільно розглядати як параметри моделі. Модель можна додатково навчити, лише регулюючи ваги цих підказок.

Зауважте, що як тільки ми починаємо оновлювати ці вагові коефіцієнти, вектори токенів більше не відповідають фактичним вкладенням зі словника.

# Результати

Налаштування запитів працює ефективніше з більшими моделями. Більші моделі також вимагають менше токенів м'яких запитів. Попри це більш ніж 20 токенів не дають значного приросту продуктивності.
